#include <stdio.h>
#include <string.h>
#include <sched.h>
#include <time.h>
#include <stdlib.h>
#include <unistd.h>

#include "parse.h"
#include "time_info.h"
#include "constantes.h" 

void imprime_tiempo_actual(void){
	time_t tiempo;
	tiempo=time(NULL);
	printf("Fecha y hora del sistema: %s",ctime(&tiempo));
}


/* devuelve expresados en formato ddD hh:mm:ss */
char *formatear(char *ret, float valor){
	
	int dias,horas,min;

	dias = (int) valor/(24*3600);
	valor = valor - dias*(24*3600);
	horas = (int) valor/(3600);
	valor = valor - horas*(3600);
	min = (int) valor/60;
	valor = valor - min*(60);
	printf("%iD %i:%i:%i\n", dias,  horas, min, (int)valor);

	return ret;

}

char * get_system_boot_time(char *boot_time){
	get_valor(boot_time,STAT_FILE,BOOT_TIME,SEPARADOR_ESPACIO);
	return boot_time;
}

char * get_up_time(char *up_time){
	char aux[BUFFZISE+1];
	get_line_from_file(aux,STAT_FILE);
	/*printf("up aux = %s",aux);*/
	get_bloque(up_time,aux,UP_TIME_PLACE, SEPARADORES_ESPACIO);
	return up_time;
}

char * get_idle_time(char *idle_time){
	char aux[BUFFZISE+1];
	get_line_from_file(aux,STAT_FILE);
	/*printf("idle aux = %s",aux);*/
	get_bloque(idle_time,aux,IDLE_MODE_TIME_PLACE,SEPARADORES_ESPACIO);
	return idle_time;
}

char * get_user_mode_time(char *user_time){
	char aux[BUFFZISE+1];
	get_line_from_file(aux,STAT_FILE);
	
	get_bloque(user_time,aux,USER_MODE_TIME_PLACE,SEPARADORES_ESPACIO);
	return user_time;
}

char * get_system_mode_time(char *system_mode_time){
	char aux[BUFFZISE+1];
	get_line_from_file(aux,STAT_FILE);
	/*printf("system aux = %s",aux);*/
	get_bloque(system_mode_time,aux,SYSTEM_MODE_TIME_PLACE,SEPARADORES_ESPACIO);
	return system_mode_time;
}
